package com.ctsi.system.api.impl.local;

import com.ctsi.system.api.IDictionaryTreeData;
import com.ctsi.system.service.DictionaryTreeDataService;
import com.ctsi.system.service.api.DictionayTreeServiceProxy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * @author: zhangjw
 * @Date: 2018/10/12 18:10
 * @Description:
 */
@Component
@Primary
public class LocalDictionaryTreeSerivceProxyImpl implements DictionayTreeServiceProxy {
    @Autowired
    private DictionaryTreeDataService dictionaryTreeDataService;

    @Override
    public String getDictCode(String type, String value) {
        return null;
    }

    @Override
    public String getDictValue(String type, String code) {
        return null;
    }

    /**
     * 查询type类型的字典数据
     *
     * @param type
     * @return 返回DictionaryData对象的List
     */
    @Override
    public List<IDictionaryTreeData> getDictList(String type) {
        return null;
    }

    @Override
    public List<IDictionaryTreeData> getDictListByParent(String type, String parentId) {
        return null;
    }

    /**
     * 通过字典数据的分类和编码查询出一条字典数据
     *
     * @param type
     * @param code
     * @return 返回字典数据对象DictionaryData
     */
    @Override
    public IDictionaryTreeData getDictDataByCode(String type, String code) {
        return null;
    }

    /**
     * 通过字典数据的分类和字典数据值查询出一条字典数据
     *
     * @param type
     * @param value
     * @return 返回字典数据对象DictionaryData
     */
    @Override
    public IDictionaryTreeData getDictDataByValue(String type, String value) {
        return null;
    }

    /**
     * 通过字典数据的分类和字典数据值查询出一组字典数据
     *
     * @param type
     * @param value
     * @return 返回字典数据对象DictionaryData集合
     */
    @Override
    public List<IDictionaryTreeData> getDictDataListByValue(String type, String value) {
        return null;
    }

    /**
     * 查询type类型字典数据
     *
     * @param type
     * @param parentId
     * @return 返回Map<String key, String value>
     */
    @Override
    public Map<String, String> getDictMap(String type, String parentId) {
        return null;
    }

    @Override
    public Map<String, String> getAllDictMap(String type) {
        return null;
    }

    @Override
    public IDictionaryTreeData getParentDict(String type, String code) {
        return null;
    }

    @Override
    public List<IDictionaryTreeData> getParentDictList(String type, String code) {
        return null;
    }

    /**
     * 获取给定type和code的name链式
     * @param type
     * @param code
     * @return
     */
    @Override
    public List<String> getTreeDataNameChain(String type, String code) {
        return dictionaryTreeDataService.getTreeDataNameChain(type, code);
    }

    /**
     * @param type
     * @param code
     * @return
     */
    @Override
    public List<IDictionaryTreeData> getTreeDataChain(String type, String code) {

        return dictionaryTreeDataService.getTreeDataChain(type, code);
    }
}
